﻿using Comm100.Framework.Domain.Services;
using Bot.Domain.Bo;
using Bot.Domain.Entities;
using System;
using System.Collections.Generic;
using System.Text;

namespace Bot.Domain.Interfaces
{
    public interface ICategoryDomainService : IDomainService
    {
        Category Create(Category category);

        Category Get(Guid id, string include = "");

        Category Update(Guid id, CategoryUpdateBo bo);

        IEnumerable<Category> List();

        void Delete(Guid id);

        List<Category> GetByBotId(Guid botId);

        void Reassign(Guid id, Guid targetCategoryId);
        /// <summary>
        /// 返回最后一个新增cagegory Id 值
        /// </summary>
        /// <param name="botId"></param>
        /// <param name="category"></param>
        /// <returns></returns>
        Guid CreateCategory(Guid botId, string category);
        Category GetRootCatagory(Guid botId);
        Category GetCatagory(Guid botId, Guid parentId, string categoryName);
        Category GetCatagoriesByBotIdAndName(Guid botId, string categoryName);
    }
}
